#include <iostream>
#include <unistd.h>
#include <gtest/gtest.h>
#include <libgo/coroutine.h>

#define O(x) std::cout << x << std::endl

namespace sample {
    void f2() {
        O(2);
        co_yield;
        O(4);
        co_yield;
        O(6);
    }

    void f1() {
        go f2;
        O(1);
        co_yield;
        O(3);
        co_yield;
        O(5);
    }
}

TEST(sample, test) {
    using namespace sample;

    go f1;

    co_sched.Start();
}
